小米 AC2100 路由器刷入及配置 OpenWRT | 您所在的位置:网站首页 › ac2100 openwrt底包 › 小米 AC2100 路由器刷入及配置 OpenWRT |
由于疫情的原因被封锁在家远程办公,但是上网冲浪各种不方便, 于是掏出小米 AC2100 路由器,架好扶墙新姿势。 要说这台小米 AC2100 还是我两周前在网上买回来的,本是打算用来做中继路由蹭房东家的 WiFi, 但是之后自己办了长城宽带,而运营商给的路由器又有 WiFi 功能,所以这台小米 AC2100 路由器就被闲置了。 没想到这次疫情封锁期间却派上了大用场。 之所以购入小米 AC2100,主要是三个因素: 可刷 OpenWRT 外观独特(圆筒身材) 价格便宜(入手¥239) 刷入 OpenWRT 的过程完全参照官方提供的文档 [1], 需要先给路由器固件降级,利用小米官方固件 2.0.722 版本的漏洞,破解路由器 root 帐号的密码; ssh 登录路由器后即可刷入 OpenWRT 固件,成功后路由器自动重启,重新登录上去后就会发现系统已经变成了 OpenWRT, 此时路由器的地址也已变成 192.168.1.1。 第一次登录刷机后的路由器发现没有 Web 管理界面 —— 因为官方提供的固件默认没有安装 luci 软件包。 那索性尝试下使用 uci 命令来配置对路由器进行管理。 (可选)修改 lan 口的网段,默认为 192.168.1.0/24: $ uci set network.lan.ipaddr='' $ uci set network.lan.netmask='' $ uci commit $ /etc/init.d/network reload开启 WiFi: $ uci set wireless.radio0.country='CN' $ uci set wireless.radio1.country='CN' $ uci set wireless.radio0.disabled='0' $ uci set wireless.radio1.disabled='0' $ uci commit wireless $ wifi up设置 WiFi 的 SSID 及密码: $ uci set wireless.default_radio0.ssid='' $ uci set wireless.default_radio1.ssid='' $ uci set wireless.default_radio0.encryption='psk2' $ uci set wireless.default_radio1.encryption='psk2' $ uci set wireless.default_radio0.key='' $ uci set wireless.default_radio1.key='' $ uci commit wireless $ wifi reload 安装 v2ray从 此仓库 下载对应版本即可。 安装及配置 iptables安装 ipset: $ opkg update $ opkg install ipset另外,如果需要 iptables 支持 tproxy,需要安装: $ opkg install iptables-mod-tproxy配置 iptables,使其加载 /etc/firewall.user 文件中自定义的防火墙规则: $ uci add firewall include $ uci set firewall.@include[-1].path='/etc/firewall.user' $ uci commit firewall $ vim /etc/firewall.user 安装及配置 DNS首先关闭默认由 dnsmasq 提供的 DNS 服务: $ /etc/init.d/dnsmasq stop $ uci set dhcp.@dnsmasq[0].port='0' $ uci commit dhcp $ /etc/init.d/dnsmasq start安装 dnscrypt-proxy 并配置其监听 lan 口和 lo 口: $ opkg update $ opkg install dnscrypt-proxy2 $ /etc/init.d/dnscrypt-proxy stop # vim /etc/dnscrypt-proxy2/dnscrypt-proxy.toml listen_addresses = [':53', '127.0.0.1:53'] # /etc/init.d/dnscrypt-proxy start配置 dnsmasq,使其在提供 DHCP 服务的时候将 dns server 设置成 lan 口地址: # uci add_list dhcp.lan.dhcp_option='6,' # uci commit dhcp # /etc/init.d/network restart 安装及配置 Wireguard [2] [3]安装 wireguard-tool : $ opkg update $ opkg install wireguard-tools配置 wireguard 网口 : $ wg genkey | tee wgslave.key | wg pubkey > wgslave.pub $ uci set network.wgslave="interface" $ uci set network.wgslave.proto="wireguard" $ uci set network.wgslave.private_key="" $ uci add_list network.wgslave.addresses="" $ uci commit network $ /etc/init.d/network restart配置 wireguard 客户端: $ uci add network wireguard_wgslave $ uci set network.@wireguard_wgslave[-1].public_key="" $ uci set network.@wireguard_wgslave[-1].endpoint_host="" $ uci set network.@wireguard_wgslave[-1].endpoint_port="" $ uci set network.@wireguard_wgslave[-1].persistent_keepalive="25" $ uci set network.@wireguard_wgslave[-1].route_allowed_ips="1" $ uci add_list network.@wireguard_wgslave[-1].allowed_ips="" $ uci commit network $ /etc/init.d/network restart(其中关于 route_allowed_ips 的作用可以参考 源代码 ) 查看 wireguard 当前配置: $ wg showconf wgslaveThanks for reading :) References [1]OpenWRT: MI Router AC2100 [2]OpenWRT: WireGuard client [3]Setting up a wireguard server running on an OpenWRT router |
CopyRight 2018-2019 实验室设备网 版权所有 |